package thread;

/**
 * @author HuangJin
 * @version 1.0
 * describe:获取一个线程相关信息的方法
 * @date 2023/3/14 11:06
 */
public class ThreadInfoDemo {
    public static void main(String[] args) {//Thread实例化时可以自行指定名字
        Thread t = new Thread(){//若不指定名字则使用系统分配的名字
            @Override
            public void run() {
                /*
                    String getName()
                    获取线程的名字
                    我们定义的线程若没有显示指定线程的名字，系统会自动分配一个名字，格式：Thread-X
                    X是一个数字
                 */
                String name = this.getName();
                System.out.println(name);
                /*
                    可以作为ID只用的值必须同时具备两个要求：
                    1. 费控
                    2。 唯一
                    通常id都是由系统分配，而不是人为干预
                 */
                long id = this.getId();//id：唯一标识
                System.out.println(id);
                /*
                    int getPriority()
                    获取线程优先级
                 */
                int priority = this.getPriority();
                System.out.println(priority);

                boolean interrupted = this.isInterrupted();
                boolean daemon = this.isDaemon();
                boolean alive = this.isAlive();
                System.out.println("是否被中断："+interrupted);
                System.out.println("是否被是守护线程："+daemon);
                System.out.println("是否被活着："+alive);

            }
        };
        t.start();
    }
}
